あなたの知らないnpm installの簡略記法
こんにちは。サービスグループの武田です。
npm-installのWebドキュメントを見ていたところ、Gistなどでホストされているnpmパッケージの指定方法に簡略記法が用意されていることを知りました。今回はその簡略記法について共有します。
検証環境
$ sw_vers ProductName: Mac OS X ProductVersion: 10.14.6 BuildVersion: 18G87 $ npm --version 6.9.0
コマンドヘルプとドキュメントについて
先に言い訳をしておくと、普段は--help
で軽く確認するくらいで困らないため、あまりドキュメントを見ていなかったということがあります。今回の件はWebドキュメントを確認して知りました。
$ npm install --help npm install (with no args, in package dir) npm install [<@scope>/]<pkg> npm install [<@scope>/]<pkg>@<tag> npm install [<@scope>/]<pkg>@<version> npm install [<@scope>/]<pkg>@<version range> npm install <folder> npm install <tarball file> npm install <tarball url> npm install <git:// url> npm install <github username>/<github project>
こちらがWebドキュメント。
npm-install | npm Documentation
またコマンドラインでも同じドキュメントが確認できます(npm help
も使ったことありませんでした)。
# npm helpで確認 $ npm help install # manコマンドで確認 $ man npm-install
4種類の簡略記法
npm install
ではパッケージ名やURLを指定する以外に、次の4種類の簡略記法(プレフィックス)をサポートしています。
- github
npm install github:<githubname>/<githubrepo>[#<commit-ish>]
npm install <githubname>/<githubrepo>[#<commit-ish>]
と同じ
- gist
npm install gist:[<githubname>/]<gistID>[#<commit-ish>|#semver:<semver>]
- bitbucket
npm install bitbucket:<bitbucketname>/<bitbucketrepo>[#<commit-ish>]
- gitlab
npm install gitlab:<gitlabname>/<gitlabrepo>[#<commit-ish>]
GitHubリポジトリ指定時にgithub:
は省略可能で、個人的には明示的に書く必要は感じません。またGistについてはgithubname
が省略可能で、gist:
の後にgitstIDを指定するだけでもOKです。GitHub、Bitbucket、GitLabについてはnameが必要です。
npxで使ってみる
ところで、先日npxのエントリを書きました。
npxはパッケージのインストールに、内部的にnpm install
を使っています。つまり今回紹介した簡略記法はnpxでも利用可能です。実際に試してみました。
$ npx gist:1cd52daf43b11e9d2c72aa6ab0be59a3 npx: 1個のパッケージを4.783秒でインストールしました。 yay gist
シンプル!すばら!
まとめ
npxコマンドの調査をきっかけにいろいろと新しいことが知れています。やはりドキュメントはちゃんと読んだ方がいいですね!